home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / docs / complex / makefile < prev    next >
Makefile  |  2000-06-23  |  3KB  |  107 lines

  1. SHELL = ksh
  2.  
  3. # define `CC' as C Compliler and `AS' as Assembler
  4. CC = gcc2
  5. AS = has
  6.  
  7. # define `CC_' as C Compliler for `_iscopro.c' on X68k libc
  8. CC_ = gcc
  9.  
  10. # define `_ISCOPRO_..' on X68k libc
  11. _ISCOPRO_C = _iscopro.c
  12. _ISCOPRO_O = _iscopro.o
  13. _ISCOPRO_O_ = ../_iscopro.o
  14. #_ISCOPRO_C = 
  15. #_ISCOPRO_O = 
  16. #_ISCOPRO_O_ = 
  17.  
  18. DST = mandel julia3 julia3c
  19.  
  20. SRC = Makefile complex.h \
  21.     $(foreach f, $(DST), $f.c) \
  22.     palettbl.c screen.c $(_ISCOPRO_C)
  23.  
  24. OBJ = $(foreach f, $(DST), $f.o)
  25.  
  26. BIN = $(foreach f, $(DST), $f.x)
  27.  
  28. LZHSRC = FRACSRC.LZH
  29. LZHBIN = FRACBIN.LZH
  30.  
  31.  
  32. all:
  33.     -mkdir 000; cd 000; make -f ../Makefile -S TARGET="-m68000" all_
  34.     -mkdir 020; cd 020; make -f ../Makefile -S TARGET="-m68020" all_
  35.     -mkdir 881; cd 881; make -f ../Makefile -S TARGET="-m68020 -m68881" all_
  36.     -mkdir 040; cd 040; make -f ../Makefile -S TARGET="-m68040" all_
  37.  
  38. all_: $(BIN)
  39.  
  40.  
  41. lzh: $(LZHSRC) $(LZHBIN)
  42.  
  43. $(LZHSRC): $(SRC)
  44.     -rm $(LZHSRC)
  45.     lha a -t $(LZHSRC) $(SRC)
  46.  
  47. $(LZHBIN):
  48.     -rm $(LZHBIN)
  49.     make -S DIR="000" lzhbin_
  50.     make -S DIR="020" lzhbin_
  51.     make -S DIR="881" lzhbin_
  52.     make -S DIR="040" lzhbin_
  53.  
  54. lzhbin_:
  55.     lha u -rtx $(LZHBIN) $(foreach f, $(BIN), $(DIR)/$f)
  56.  
  57.  
  58. mandel.x: mandel.o palettbl.o ../screen.o $(_ISCOPRO_O_)
  59.     $(CC) -o mandel.x mandel.o palettbl.o ../screen.o $(_ISCOPRO_O_) -liocs -ldos
  60.  
  61. mandel.o: ../mandel.c ../complex.h
  62.     $(CC) -S -O -o ../temp1.s ../mandel.c $(TARGET)
  63.     sed 's/\.even/\.align 8/' ../temp1.s > ../temp2.s
  64.     $(AS) -u -w -o mandel.o ../temp2.s
  65.  
  66.  
  67. julia3.x: julia3.o palettbl.o ../screen.o $(_ISCOPRO_O_)
  68.     $(CC) -o julia3.x julia3.o palettbl.o ../screen.o $(_ISCOPRO_O_) -liocs -ldos
  69.  
  70. julia3.o: ../julia3.c ../complex.h
  71.     $(CC) -S -O -o ../temp1.s ../julia3.c $(TARGET)
  72.     sed 's/\.even/\.align 8/' ../temp1.s > ../temp2.s
  73.     $(AS) -u -w -o julia3.o ../temp2.s
  74.  
  75.  
  76. julia3c.x: julia3c.o palettbl.o ../screen.o $(_ISCOPRO_O_)
  77.     $(CC) -o julia3c.x julia3c.o palettbl.o ../screen.o $(_ISCOPRO_O_) -liocs -ldos
  78.  
  79. julia3c.o: ../julia3c.c ../complex.h
  80.     $(CC) -S -O -o ../temp1.s ../julia3c.c $(TARGET)
  81.     sed 's/\.even/\.align 8/' ../temp1.s > ../temp2.s
  82.     $(AS) -u -w -o julia3c.o ../temp2.s
  83.  
  84.  
  85. palettbl.o: ../palettbl.c
  86.     $(CC) -c -O -o palettbl.o ../palettbl.c $(TARGET)
  87.  
  88. ../screen.o: ../screen.c
  89.     $(CC) -c -O -o ../screen.o ../screen.c -m68000
  90.  
  91. # on X68k libc
  92. ../_iscopro.o: ../_iscopro.c
  93.     $(CC_) -c -O -o ../_iscopro.o ../_iscopro.c -m68000
  94.  
  95.  
  96. clean:
  97.     cd 000; make -f ../Makefile clean_
  98.     cd 020; make -f ../Makefile clean_
  99.     cd 881; make -f ../Makefile clean_
  100.     cd 040; make -f ../Makefile clean_
  101.     -rm screen.o $(_ISCOPRO_O)
  102.     -rm temp1.s temp2.s
  103.  
  104. clean_:
  105.     -rm $(OBJ)
  106.     -rm palettbl.o
  107.